package com.hengli.service;

import com.hengli.dto.WinepackageDTO;
import com.hengli.dto.WinepackagePageQueryDTO;
import com.hengli.entity.Winepackage;
import com.hengli.result.PageResult;
import com.hengli.vo.WineItemVO;
import com.hengli.vo.WinepackageVO;

import java.util.List;

/**
 * @author ljx
 * @date 2024/3/23 22:01
 */

public interface WinepackageService {

    /**
     * 分页查询
     * @param winepackagePageQueryDTO
     * @return
     */
    PageResult pageQuery(WinepackagePageQueryDTO winepackagePageQueryDTO);

    /**
     * 新增套餐
     * @param winepackageDTO
     */
    void saveWithWine(WinepackageDTO winepackageDTO);

    /**
     * 根据id删除套餐
     * @param ids
     * @return
     */
    void deleteBatch(List<Long> ids);

    /**
     * 根据id查询套餐
     * @param id
     * @return
     */
    WinepackageVO getByIdWithWine(Long id);

    /**
     * 修改套餐
     * @param winepackageDTO
     */
    void updateWithWine(WinepackageDTO winepackageDTO);

    /**
     * 套餐起售停售
     * @param status
     * @param id
     */
    void startOrStop(Integer status, Long id);

    /**
     * 条件查询
     * @param winepackage
     * @return
     */
    List<Winepackage> list(Winepackage winepackage);

    /**
     * 根据id查询菜品选项
     * @param id
     * @return
     */
    List<WineItemVO> getWineItemById(Long id);
}
